htt[p]erl, simulador de web server
Publicado por Fábio Berbert de Paula 06/01/2003
[ Hits: 7.895 ]
Homepage: https://fabio.automatizando.dev
htt[p]erl é um script usado para simular um servidor web, muito bom para quem deseja entender melhor o protocolo de comunicação entre browser e servidor. O programa fica escutando na porta TCP 80 e envia uma página HTML padrão para o browser do usuário.
#!/usr/bin/perl # --------------------------------------------------------- # httperl.pl (htt[p]erl) # # Script em Perl usado para simular um servidor web, muito # bom para quem deseja entender melhor o protocolo de # comunicação entre browser e servidor # # # Programado por Fábio Berbert de Paula # <fabio@vivaolinux.com.br> # # Rio de Janeiro, 06 de Janeiro de 2003 # --------------------------------------------------------- $| = 1; # criar socket na porta 80 do servidor use IO::Socket; my $sock = new IO::Socket::INET ( LocalPort => '80', Type => SOCK_STREAM, Proto => 'tcp', Listen => 10 ); die "Não consegui iniciar o servidor: $!\n" unless $sock; print "Servidor iniciado ...\n"; # definir o cabeçalho de retorno básico my $retorno = " HTTP/1.1 200 OK Server: htt[p]erl/1.0 (GNU/Linux) Connection: close Content-Type: text/html <html> <body> Uma cortesia de <a href=\"http://www.vivaolinux.com.br\">Viva o Linux</a>. </body> </html> "; # aceitar conexões TCP while (my $new_sock = $sock->accept()) { while($linha = <$new_sock>) { # imprimir o cabeçalho recebido pelo browser do usuário print $linha; # se linha vazia, então o browser envio câmbio, vamos respondê-lo if ($linha!~/[A-Za-z0-9]/) { print $new_sock $retorno; # fechar conexão com o cliente $new_sock = ''; } } close(W); } close($sock);
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Dificuldade para renderizar vídeo no kdenlive (6)
xubuntu sem sons de eventos (3)
Erro ao iniciar serviço samba4 como novo dc em um ambiente com ad [RES... (9)